SQL::QueryFormat Method
Syntax
C Format([AddCrLf = .t. as L])
Arguments
- Result_Flag
TRUE (.T.) if the operation was successful; otherwise FALSE (.F.).
- <SQL::Query>
A SQL::Query object created with a DIM statement.
- <SQLConnection>
Optional. A SQL::Connection object with a defined .ConnectionString property.
- ConnectString
Optional. A connection string.
- <Arguments>
Optional. A SQL::Arguments object.
- <Arguments>.XML
Optional. The XML property of a SQL::Arguments object.
- AddCrLf = .t.
Logical
Description
Format the original source (by default, lines are broken at significant keywords)..
Discussion
The .Execute() method retrieves data and populates a SQL::ResultSet object. It connects to the back-end database using the information in the SQL::Connection::ConnectionString property or in the ConnectString string, then executes the current SQL statement in the SQL::Query.SQLStatement property. Note : If you set the SQL::Query object's ResolveColumnTables property prior to calling SQL::Query::Execute(), the columns resolved will now have valid values for MaximumActualLength . Internally, SQL::Query now calls UpdateStatistics()for each table definition it retrieves and populates the ColumnInfo entries.
Example
The following code was run in the Interactive Window.
dim qry as SQL::Query
dim conn as SQL::Connection
dim connString as C
connString = "{A5API='Access', FileName='c:\program files\a5v7\mdbfiles\alphasports.mdb'}"
? conn.open(connString)
= .T.
? qry.parse("Select * from Customer")
= .T.
? qry.Execute(conn)
= .T.The following code shows how to use the various argument alternatives.
dim c as SQL::connection
dim q as SQL::query
dim a as SQL::arguments
dim axml as c
a.add("state", "CA")
axml = a.xml
cs = "{A5API=Access,FileName='c:\northwind.mdb',UserName='Admin'}"
? c.open(cs)
? q.parse("select * from customers where region = :state")
? q.execute(c, a) ' Open Connection and arguments object
? q.execute(c, axml) ' Open Connection and XML version of arguments
? q.execute(cs, a) ' Connection String and arguments object
? q.execute(cs, axml) ' Connection string and XML version of arguments
? If you assign the connection, you don't need to pass it.
q.connection = c
? q.execute(a) ' Arguments object
? q.execute(axml) ' XML version of arguments
? Adding the argument to the query directly works as well.
q.arguments.add("state", "CA")
? q.execute()
? q.execute(c)
? q.execute(cs)The following code shows the use of .ResolveColumnTables.
dim c as SQL::connection
dim q as SQL::query
c.open("{A5API='Access',A5Syntax='Access',FileName='c:\northwind.mdb',UserName='Admin'}")
q.parse("select * from customers")
q.ResolveColumnTables = .t.
q.execute(c)
q.resultset.sizetofit = .t.This example retrieves column specifications, then resizes the fields to fit the data.
dim c as SQL::connection
dim q as SQL::query
? c.open("{A5API='Access',A5Syntax='Access',FileName='c:\northwind.mdb',UserName='Admin'}")
= .T.
? q.parse("select * from customers")
= .T.
? q.execute(c)
= .T.
? q.resultset.dbfrowsyntax
= CUSTOMERID,C,5,0
COMPANYNAME,C,40,0
CONTACTNAME,C,30,0
CONTACTTITLE,C,30,0
ADDRESS,C,60,0
CITY,C,15,0
REGION,C,15,0
POSTALCODE,C,10,0
COUNTRY,C,15,0
PHONE,C,24,0
FAX,C,24,0
q.ResolveColumnTables = .t.
? q.execute(c)
= .T.
? q.resultset.dbfrowsyntax
= CUSTOMERID,C,5,0
COMPANYNAME,C,40,0
CONTACTNAME,C,30,0
CONTACTTITLE,C,30,0
ADDRESS,C,60,0
CITY,C,15,0
REGION,C,15,0
POSTALCODE,C,10,0
COUNTRY,C,15,0
PHONE,C,24,0
FAX,C,24,0
q.resultset.sizetofit = .t.
? q.resultset.dbfRowsyntax
= CUSTOMERID,C,5,0
COMPANYNAME,C,38,0
CONTACTNAME,C,23,0
CONTACTTITLE,C,30,0
ADDRESS,C,46,0
CITY,C,15,0
REGION,C,13,0
POSTALCODE,C,9,0
COUNTRY,C,11,0
PHONE,C,17,0
FAX,C,17,0See Also